const { defineConfig } = require('@vue/cli-service')
const path = require('path');
function resolve(dir) {
  return path.join(__dirname, dir);
}

module.exports = defineConfig({
  publicPath: "./", // 基本路径
  outputDir: "dist", // 打包输出文件目录
  lintOnSave: false, // eslint-loader 是否在保存的时候检查
  assetsDir: "static", //放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。
  // pages: undefined, // 以多页模式构建应用程序。
  // runtimeCompiler: false, // 是否使用包含运行时编译器的 Vue 构建版本
  // transpileDependencies: true,
  // // 是否为 Babel 或 TypeScript 使用 thread-loader。该选项在系统的 CPU 有多于一个内核时自动启用，仅作用于生产构建，在适当的时候开启几个子进程去并发的执行压缩
  // parallel: require("os").cpus().length > 1,
  // productionSourceMap: false,   //process.env.NODE_ENV === 'production' ? false : true, // 生产环境是否生成 sourceMap 文件，一般情况不建议打开
  css: {
    // 是否使用css分离插件
    extract: true,
    // 开启 CSS source maps，一般不建议开启
    sourceMap: false, //process.env.NODE_ENV === 'production' ? false : true,
    // css预设器配置项
    loaderOptions: {}
  },
  chainWebpack: config => {
    config
      .plugin('html')
      .tap(args => {
        args[0].title= 'IVA AMBULANCE MANAGEMENT PLATFORM';
        return args;
      });
  },
  devServer: {
    // alloweHosts ？， bonjour ？， client ？，compress？，devMiddleware？， headers ？，historyApiFallback？，host？，hot？，http2？，https？，ipc？，liveReload？，magicHtml？，onAfterSetupMiddleware？，onBefore SetupMidware？，onListing？，open？，port？，proxy？，server？，setupExitSignals？，setup MiddleWares？，static？，watchFiles？，webSocketServer
    // hot: true,
    // host: 'localhost',
    // host: "10.73.185.25",
    port: 9901, // 端口号
    https: false, // https:{type:Boolean}
    // open: true, //配置自动启动浏览器  http://172.11.11.22:8888/rest/XX/
    // hotOnly: 'client', // 热更新
    proxy: {
      //配置自动启动浏览器
      "ea-up-ambulance-monitoring/": {
        target: process.env.VUE_APP_PROXY,
        changeOrigin: true,
        // ws: true,//websocket支持
        secure: false
      },
      // "ea-up-upload-file/":{
      //   target: process.env.VUE_APP_PROXY,
      //   changeOrigin: true,
      //   // ws: true,//websocket支持
      //   secure: false
      // }
    }
  },
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('./src'))
      .set('@ass', resolve('./src/assets'))
      .set('@img', resolve('./src/assets/image'))
      .set('@css', resolve('./src/style'))
      .set('@com', resolve('./src/components'))
      .set('@view', resolve('./src/views'))
      .set('@utils', resolve('./src/utils'))
  }
})
